﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LogicLayer
{
    /// <summary>
    /// Temporär klass som hanterar anrop från WCF
    /// </summary>
    public class CommonHandler
    {
        public static bool CheckOpponentStatus(int playerId, int gameSessionId)
        {
            // TODO: Databasfrågor
            //    1. Hämta motspelare -> Gå in i PlayerGameSession och hämta den andre spelaren
            //    2. Hämta aktuell spelomgång -> Gå in i GameRound och hämta ID med senast datum
            //    3. Hämta val från motspelare -> Gå in i PlayerChoice och hämta val
            // TODO: Logik
            //    1. Kolla om valet är en siffra eller NULL. Returnera.
            return false;
        }

        public static global::Common.DTO.GameInfo CheckIfGameRoundIsFinished(int gameSessionId)
        {
            // TODO: 
            //    1. Kolla om senaste spelomgången är klar
            //        a) Hämta aktuell spelomgång -> Gå in i GameRound och hämta ID med senast datum          
            //        b) Hämta valen från spelarna -> Gå in i PlayerChoice och hämta valen
            //        c) Kolla om alla spelare genomfört ett val
            //    2. Hämta alla spelade spelomgångar
            //        a) Hämta alla spelomgångsID:en -> Gå in i GameRound och hämta alla ID
            //        b) Hämta valen från spelarna för varje spelomgång -> Gå in i PlayerChoice och hämta valen
            //        c) Spara i informationsobjektet
            //    3. Kolla om någon vunnit spelsessionen
            //        a) Hämta antal beräknade spelomgångar -> Gå in i GameSession och hämta antal omgångar
            //        b) Spara i informationsobjektet
            //        c) Kolla om spelade spelomgångar har överstigit hälften
            //        d) Kolla om någon spelare vunnit
            //    4. Skriv vem som vunnit i DB
            //        a) Hämta ev. vinnare av spelsession -> Gå in i GameSession och hämta vinnare
            //        b) Skriv in vinnare -> Uppdatera GameSession, vinnare och activegame
            return null;
        }
    }
}
